<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  OSGUTIL_EXPORT osgUtil::Optimizer::StateVisitor</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">StateVisitor</A></H2></H2><BLOCKQUOTE>Optimize State in the scene graph by removing duplicate state, replacing it with shared instances, both for StateAttributes, and whole StateSets</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="Mosg::NodeVisitor,M,CStateVisitor,MStateVisitor.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.9.10.1">StateVisitor</A></B>()
<DD><I>default to traversing all children</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.9.10.2">reset</A></B>()
<DD><I>empty visitor, make it ready for next traversal</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.9.10.3">apply</A></B>(osg::Node&amp; node)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.9.10.4">apply</A></B>(osg::Geode&amp; geode)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.9.10.5">optimize</A></B>()
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.9.10.6">addStateSet</A></B>(osg::StateSet* stateset, osg::Object* obj)
</DL></P>

<P><DL>
<DT><H3>Protected Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::map&lt;osg::StateSet*,ObjectSet&gt; StateSetMap StateSetMap <B><A HREF="#DOC.2.9.10.7">_statesets</A></B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Optimize State in the scene graph by removing duplicate state,
replacing it with shared instances, both for StateAttributes,
and whole StateSets</BLOCKQUOTE>
<DL>

<A NAME="StateVisitor"></A>
<A NAME="DOC.2.9.10.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> StateVisitor()</B></TT>
<DD>default to traversing all children
<DL><DT><DD></DL><P>
<A NAME="reset"></A>
<A NAME="DOC.2.9.10.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void reset()</B></TT>
<DD>empty visitor, make it ready for next traversal
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.9.10.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Node&amp; node)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.9.10.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Geode&amp; geode)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="optimize"></A>
<A NAME="DOC.2.9.10.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void optimize()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addStateSet"></A>
<A NAME="DOC.2.9.10.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addStateSet(osg::StateSet* stateset, osg::Object* obj)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_statesets"></A>
<A NAME="DOC.2.9.10.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;osg::StateSet*,ObjectSet&gt; StateSetMap StateSetMap _statesets</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
